Pandoc

Permet de convertir un fichier texte balisé en format :

Vers les formats suivants:

Famille Format
HTML XHTML, HTML5, Slidy, S5, DZSlide
Traitements de texte Word (docx), ODT, OpenDocument XML
Ebooks EPUB
Documentation DocBook, GNU TexInfo, Groff man pages
Tex LaTeX, ConTeXt, Beamer
PDF Via LaTeX
Balisages légers Markdown, ReStructuredText, AsciiDoc, MediaWiki, Emacs Org-mode, Textile

Personnalisation en utilisant pandoc-crossref

Principal commandes

Images

Le plugin Pandoc Pandoc-Crossref va nous permettre de donner des numéro à nos figure et que ces numéros se mettent à jour automatiquement (ce qui n'est parfois pas evident dans la machine à gaz qu'est word)

En pratique il suffira de rajouter "{#fig:nomfigure}" sans espace dans le nom de votre figure. Ce n'est pas le nom qui apparaitra mais le nom qui servira pour citer la figure dans le texte ! Vous pouvez donc mettre ce caractère après les illustrations que vous voulez citer mais en pratique comme vous devez toutes les citer dans le texte il faudra le mettre après chaque illustration.
NB : Cela est facilement paramétrable avec un Text expander ou un modèle obsidian
NB2 : Je n'ai pas trouver d'astuce pour que ça utilise automatiquement le nom de l'image

Taille de l'image

Dans _OBSIDIAN, pour modifier la taille de l'image on fait classiquement | suivi de la taille qu'on souhaite en pixels. Cependant cela rentre en conflit avec l'alias dans le cas de l'export Pandoc. Pandoc prend ça pour un renommage (et il a raison)
On utilisera donc les brackets et on met toutes les informations dedans séparées par des espaces :
Exemple pour centrer et redimmensionner l'image : [imageexemple]{#fig:nomimgae width="100" height="100" style="display: block; margin: 0 auto" }

on pourra aussi utiliser des pourcentage : width=100%

Tableau

pour les tableaux on pourra utiliser Advanced Tables. A la suite du tableau on le nomme comme suit :
: Nom du tableau

Section

Permet de faire référence à des chapitres en particulier en mettant
{#sec:nomduchapitre} à la suite du titre

==Probleme, ça implique de mettre ça a tous les chapitres et ca tient pas compte du numéro du chapitre. Je pense qu'il y a une manière de faire plus intelligente.

Citer une figure

Si on veux que la citation s'affiche différemment, c'est a dire pas "Fig 1" par exemple mais plutot "Photo 1", on citera de cette façon : [Photo @Fig:nomdelarefdelafigure]

Affichage des annexe

\tableofcontents
\listoffigures
\listoftables
\listoflistings

Notes de bas de page

En utilisant le plugin "footnote shortcut" voir video qui explique.
NB : A l'export, c'est notes de bas de pages apparaissent bien en bas de chaque page. Elles sont formattable avec des commandes Latex

Reste des commande de personnalisation

Les commande pandoc ref se recoupe beaucoup avec les YAML Latex utilisées pour commander Latex. Je les ais donc classer au meme endroit. voir Commandes fréquentes personnalisation export Latex#Personnaliser l'export avec des métadonnée (YAML)

Pour davantage d'information consulté ce site

Le guide complet officiel d'export par pandoc

Template

Pour appeller un template : --template=whatever.template
Le template doit se trouver dans le dossier d'exécution de pandoc. Pour le trouver, on ouvre l'invit de commande, on tape 'pandoc --version' et on copie le chemin.
Ensuite on va au chemin avec l'explorateur de fichier --> on créer le fichier Pandoc s'il n'existe pas --> le fichier templates --> on place notre template ici

Template Latex adaptés à Pandoc

Enhancing Export plugin

Installation de pandoc et pandoc crossref

Vérifier son Installation https://tilburgsciencehub.com/building-blocks/configure-your-computer/statistics-and-computation/pandoc/

Installation Windows

Installation classique (conseillée)

Installation pandoc 3.1.6.2 via chocolatey pour que la version match avec pandoc crossref

Attention ! Depuis janvier 2023, pandoc 3.1.6.2 est obsolète pour le plugin Enhancing Export plugin. Il faut donc réussir à installer une version plus récente (au moins 3.1.7) mais ce qui veut dire trouver un pandoc crossref dans une version postérieure à la 3.1.2

pandoc 3.1.6.2 sur github
Screenhshot - pandoc 3.1.6.2 obsolète.png

Cependant la 3.1.12 est trop récente pour pandoc crossref mis à jour (3.1.11.1) donc il nous faut installer pandoc 3.1.11.1

Pour minimiser les problèmes de compatibilité avec pandoc (3.1.7) si la première méthode ne fonctionne pas. Il nous faut donc installer une version moins récente et cela n'est possible qu'en utilisant Chocolatey. Chocolatey fait partie des méthode officielle pour installer pandoc. Vous pouvez aller voir comment installer pandoc sur le site officiel ou me faire confiance ici.

Get-ExecutionPolicy
Get-ExecutionPolicy
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
choco install pandoc

Taper "y" puis entrer quand c'est demander pendant l'installation

Si pandoc-crossref n'est pas installer automatiquement, l'installer comme décrit précédement

Installation via scoop (N'a pas fonctionné pour moi mais on sait jamais)

La méthode classique ne fonctionne pas. Il vous faudra passer par Scoop. Rendez vous sur le site. Dans windows taper "powershell" (différent de l'invit de command). Ouvrez le simplement, pas en tant qu'administrateur. Rentrer les deux premieres lignes présentent sur le site de scoop :

> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # Optional: Needed to run a remote script the first time

Entrer puis copiez la ligne suivante

> irm get.scoop.sh | iex

Scoop est installé.
Installez maintenant pandoc

scoop install main/pandoc

Installez maintenant pandoc crossref

scoop install main/pandoc-crossref

Installez maintenant Latex

scoop install main/latex

Pour désinstaller scoop : Ouvrir powershell en faisant click droit, ouvrir en tant qu'administrateur

scoop uninstall scoop

Si ça ne fonctionne pas essayer

scoop uninstall scoop --purge

Si ça ne fonctionne pas essayer

del .\scoop -Force

Si cela ne fonctionne pas, regardez juste ou est installer scoop en tapant "where scoop" dans l'invit de commande et aller supprimer le fichier.

Installation Macos

On va passer par l'installateur brew sous macos. C'est indispendable d'utiliser cet installateur pour que tout fonctionne bien. On installera également pandoc-crossref via cet installateur

Ressources complémentaires

Fusionner plusieurs document entre eux

Via l'invit de commande

Tirée de ici

pandoc --latex-engine=xelatex -H preamble.tex -V fontsize=12pt -V documentclass:book -V papersize:a4paper 
-V classoption:openright --chapters --bibliography=papers.bib --csl="csl/nature.csl" title.md summary.md
zusammenfassung.md acknowledgements.md toc.md "introduction/intro1.md" "introduction/intro2.md" chapter2_paper.md
chapter3_extra_results.md chapter4_generaldiscussion.md appendix.md references.md -o "phdthesis.pdf"

Même méthode utilisée par une personne différente

Alternative

Utilisation du Longform plugin

Exporter des notes avec Pandoc

Exporter sans plugin dans obsidian

Réferences

Exporter avec des plugins Obsidian

Utiliser l'export pandoc hors de obsidian

Piste d'amélioration

Ressources

Quelques astuce d'export Pandoc et un peu de latex

Explication de base pour pandoc en français

Tester ses commandes pandoc en live

Arthur perret, specialiste en outil de communication, a construit son site avec pandoc il semblerait !

Référence

Liens


Métadonnées

MOC ::
Source ::
Projet ::
Tags :: #Note/ressource📚
Date :: 19-09-2023
Note N° 20230919100306